#pragma once
#ifndef CAMERA_H
#define CAMERA_H

//directx include
#include <d3dx9.h>

class CCamera
{
private:
	//D3DXVECTOR3 m_position;   // camera position
	//D3DXVECTOR3 m_up;
	//D3DXVECTOR3 m_look;
	//D3DXVECTOR3 m_right; 
	//float m_yaw;         // rotation around the y axis
	//float m_pitch;        // rotation around the x axis
	//float m_roll;        // rotation around the z axis
	
public:
	CCamera(void);
	~CCamera(void);

	//calculate the view matrix
	void calculateFPSViewMatrix(D3DXVECTOR3 position, float pitch, float yaw, float roll);

	//increment or decrement position and rotation
	void yaw(float amount);
	void pitch(float amount);
	void roll(float amount);
	void moveForward(float amount);
	void moveBackward(float amount);
	void strafeLeft(float amount);
	void strafeRight(float amount);
	void moveUp(float amount);
	void moveDown(float amount);

	//settors
	void setPosition(D3DXVECTOR3 position);

};
#endif
